﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Admin_QuanLyLoaiSP : System.Web.UI.Page
{
    PhanLoaiCtr phanLoaiCtr = new PhanLoaiCtr();
    TimKiemCtr timKiemCtr = new TimKiemCtr();
    public void checkAlreadyLogin()
    {
        if ((Session["UserType"].ToString() != "QuanTri" && Session["UserType"].ToString() != "NhanVien") || Session["UserID"].ToString() == null||Session["QuanTri"].ToString()==null)
            Response.Redirect("Login.aspx");
    }
    void Lien_KetDL()
    {
        gvPhanLoai.PageIndex = int.Parse(hdpageindex.Value);
        gvPhanLoai.DataSource = phanLoaiCtr.layPhanLoaiH();
        gvPhanLoai.DataBind();
        MultiView1.ActiveViewIndex = 0;
        int soLoaiSP = phanLoaiCtr.demLoaiSP();
        lbproducts.Text = soLoaiSP.ToString();


    }
    void Lien_KetDanhMuc()
    {
        DanhMucCtr danhMucCtr = new DanhMucCtr();
        dlLoaiDanhMuc.DataSource = danhMucCtr.layDanhMuc1();
        dlLoaiDanhMuc.DataTextField = "TenDanhMuc";
        dlLoaiDanhMuc.DataValueField = "maDanhMuc";
        dlLoaiDanhMuc.DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            checkAlreadyLogin();
            if (Request.QueryString["ChuoiTimKiem"] == "")
            {
                Lien_KetDL();
                Lien_KetDanhMuc();
            }
            else
            {
                string tenLoaiSP = Request.QueryString["ChuoiTimKiem"];
                gvPhanLoai.DataSource = timKiemCtr.TimKiemLoaiSPTheoTen(tenLoaiSP); 
                gvPhanLoai.DataBind();
                MultiView1.ActiveViewIndex = 0;
            }
        }

    }
    
    protected void gvPhanLoai_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvPhanLoai.PageIndex = e.NewPageIndex;
        hdpageindex.Value = gvPhanLoai.PageIndex.ToString();//Luu vi tri trang
        Lien_KetDL();
    }
    protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
    {
        MultiView1.ActiveViewIndex = 1;
    }
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        phanLoaiCtr.InsertPhanLoaiH(phanLoai());
        Lien_KetDL();
        txtTenLoai.Text = "";
    }
    protected EPhanLoai phanLoai()
    {
        EPhanLoai phanLoai = new EPhanLoai();
        phanLoai.TenLoaiSP = txtTenLoai.Text.Trim().ToString();
        phanLoai.MaDanhMuc = int.Parse(dlLoaiDanhMuc.Text.ToString());
        return phanLoai;
    }
    protected void gvPhanLoai_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        string maLoai = gvPhanLoai.Rows[e.RowIndex].Cells[1].Text;
        if (phanLoaiCtr.DeletePhanLoaiH(int.Parse(maLoai)))
        {
            Lien_KetDL();
            lbthongbaoloi.Visible = false;
        }
        else
        {
            lbthongbaoloi.Text = "Mã Loại Sản Phẩm Này Đang Được Sử Dụng!";
            lbthongbaoloi.Visible = true;
        }
    }

    protected void gvPhanLoai_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            LinkButton btn = (LinkButton)e.Row.Cells[4].Controls[1];
            //khi click vao nut xoa se phat sinh doan ma javascript thong bao xac nhan co muon xoa hay khong
            btn.OnClientClick = "if(!confirm('Bạn có muốn xóa mã loại :" + e.Row.Cells[1].Text + "  không?'))return false";
            //btn.OnClientClick = "return confirm('Bạn có chắc chắn xóa mã loại :" + e.Row.Cells[1].Text + " này không?')";
        }
    }

   
    protected void btinsert_Click(object sender, EventArgs e)
    {
        MultiView1.ActiveViewIndex = 1;
        btthem.Visible = true;
        btupdate.Visible = false;
        Label2.Visible = false;
        txtMaLoai.Visible = false;
    }
    protected void btupdate_Click(object sender, EventArgs e)
    {
        MultiView1.ActiveViewIndex = 0;
        btthem.Visible = false;
        btupdate.Visible = true;
        Label2.Visible = true;
        txtMaLoai.Visible = true;
       bool flag= phanLoaiCtr.UpdatePhanLoaiH(int.Parse(txtMaLoai.Text),txtTenLoai.Text,dlLoaiDanhMuc.Text);
        if (flag)
        {
            Response.Write("<script language=\"javascript\" type\"text/javascript\">alert('Cập Nhật Loại Sản Phẩm Thành Công');window.location=\"QuanLyLoaiSP.aspx?ChuoiTimKiem=\"</script>");

        }
        else
        {
            Response.Write("<script language=\"javascript\" type\"text/javascript\">alert('Cập Nhật Loại Sản Phẩm Thất Bại');window.location=\"QuanLyLoaiSP.aspx?ChuoiTimKiem=\"</script>");
        }

        gvPhanLoai.PageIndex = int.Parse(hdpageindex.Value);
        gvPhanLoai.DataSource = phanLoaiCtr.layPhanLoaiH();
        gvPhanLoai.DataBind();
        lamsachfield();
    }
    private void lamsachfield()
    {
        txtMaLoai.Text = "";
        txtTenLoai.Text = "";
        
    }
    protected void btthem_Click(object sender, EventArgs e)
    {
        MultiView1.ActiveViewIndex = 0;
        btthem.Visible = true;
        btupdate.Visible = false;
        Label2.Visible = false;
        txtMaLoai.Visible = false;
        EPhanLoai phanLoai = new EPhanLoai();
        //phanLoai.LoaiSP=int.Parse(txtMaLoai.Text);
        phanLoai.TenLoaiSP=txtTenLoai.Text;
        phanLoai.MaDanhMuc = int.Parse(dlLoaiDanhMuc.Text);
       bool flag= phanLoaiCtr.InsertPhanLoaiH(phanLoai );
       if (flag)
       {
           Response.Write("<script language=\"javascript\" type\"text/javascript\">alert('Thêm Loại Sản Phẩm Thành Công');window.location=\"QuanLyLoaiSP.aspx?ChuoiTimKiem=\"</script>");

       }
       else
       {
           Response.Write("<script language=\"javascript\" type\"text/javascript\">alert('Thêm Loại Sản Phẩm Thất Bại');window.location=\"QuanLyLoaiSP.aspx?ChuoiTimKiem=\"</script>");
       }
        gvPhanLoai.PageIndex = int.Parse(hdpageindex.Value);
        gvPhanLoai.DataSource = phanLoaiCtr.layPhanLoaiH();
        gvPhanLoai.DataBind();
        lamsachfield();
    }
    
    protected void gvPhanLoai_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        try
        {


            if (e.CommandName.Equals("Edit"))
            {
                int maLoai = int.Parse(e.CommandArgument.ToString());

                //string maLoai = gvPhanLoai.SelectedRow.Cells[1].Text;
                EPhanLoai phanLoai = phanLoaiCtr.layPhanLoaiH(maLoai.ToString());
                btupdate.Visible = true;
                btthem.Visible = false;
                txtMaLoai.Text = phanLoai.LoaiSP.ToString();
                txtTenLoai.Text = phanLoai.TenLoaiSP;
                MultiView1.ActiveViewIndex = 1;
            }
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }

    protected void gvPhanLoai_RowEditing(object sender, GridViewEditEventArgs e)
    {

    }
}